package com.jinduplan.planmanager.mvp.contract

import com.cxz.kotlin.baselibs.mvp.IModel
import com.cxz.kotlin.baselibs.mvp.IPresenter
import com.cxz.kotlin.baselibs.mvp.IView
import com.jinduplan.planmanager.bean.*
import io.reactivex.rxjava3.core.Observable

/**
 * @author admin
 * @date 2018/11/20
 * @desc
 */
interface ProjectContract {

    interface View : IView {
        fun setProjectListData(projectData: DataProjectBean)

        fun readMsgSuccess()

        fun auditMsgSuccess()
    }

    interface Presenter : IPresenter<View> {

        fun getProjectList(page: Int, limit: Int, project_id: Int,audit_id:Int,audit_status:Int,labour_id:Int)

        fun readMessage(id: Int, is_read: Int)

        fun auditMsg(id: Int, status: Int)
    }

    interface Model : IModel {
        fun getProjectList(
            page: Int,
            limit: Int,
            project_id: Int,
            audit_id:Int,
            audit_status:Int,
            labour_id:Int
        ): Observable<HttpResult<DataProjectBean>>

        fun readMessage(
            id: Int,
            is_read: Int
        ): Observable<HttpResult<MessageBean>>

        fun auditMsg(
            id: Int,
            status: Int
        ): Observable<HttpResult<MessageBean>>
    }

}